package com.smartwebx.ha.biz.rainwater.real;

import java.util.Date;

import com.smartwebx.ha.dal.realtime.dao.handler.ProcessDataEnum;
import com.smartwebx.ha.dal.usebean.DateValue;

/**
 * 过程数据极值计算
 * 
 * @author zhangxi
 * 
 */
public interface ProcessDataManager {

	/**
	 * 返回水位最大最小平均值，下标：0--最大;1--最小;2--平均
	 * 
	 * @param startDate
	 * @param endDate
	 * @param tabName
	 * @param stcd
	 * @param dataType
	 * @return
	 */
	Iterable<DateValue> getWaterProcessMaxMinAvg(Date startDate, Date endDate,
			ProcessDataEnum tabName, String stcd);

	/**
	 * 返回流量最大最小平均值，下标：0--最大;1--最小;2--平均
	 * 
	 * @param startDate
	 * @param endDate
	 * @param tabName
	 * @param stcd
	 * @return
	 */
	Iterable<DateValue> getFlowProcessMaxMinAvg(Date startDate, Date endDate,
			ProcessDataEnum tabName, String stcd);

	/**
	 * 水情超警戒天数
	 * 
	 * @param startDate
	 * @param endDate
	 * @param tabName
	 * @param stcd
	 * @param warn
	 * @return
	 */
	Integer getWaterExceedWarnDays(Date startDate, Date endDate,
			ProcessDataEnum tabName, String stcd, Double warn);

	/**
	 * 水库超警戒天数
	 * 
	 * @param startDate
	 * @param endDate
	 * @param stcd
	 * @return
	 */
	Integer getReservoirExceedWarnDays(Date startDate, Date endDate, String stcd);

}
